using System;

namespace ActivUFRJ.Classes.Geral
{
    public class DBCaixaEntrada : Connection.MySQL
    {
        public DBCaixaEntrada() : base(ref Connection.DBConnection.myConnection)
        {

        }

        internal bool CarregarCaixaEntrada(CaixaEntrada caixaEntrada)
        {
            try
            {
                string SQL =    " SELECT * from MENSAGENS where " +
                                " USR_ID_REMETENTE = " + caixaEntrada.Usuario.ID.ToString();

                this.SetSQL(SQL);
                if (!this.IsTableOver())
                {

                    System.Collections.ArrayList alMensagens = new System.Collections.ArrayList();
                    
                    while (!this.IsTableOver())
                    {
                        Mensagem novaMensagem = new Mensagem(Convert.ToInt32(this.TableGetValue("msg_id")));
                        if (novaMensagem.Status == StatusMensagem.Nova) caixaEntrada.MensagensNovas++;
                        else if (novaMensagem.Status == StatusMensagem.Lida) caixaEntrada.MensagensLidas++;
                        if (novaMensagem.Status != StatusMensagem.Excluida) alMensagens.Add(novaMensagem);

                        this.TableMoveNext();
                    }
                    caixaEntrada.Mensagens = (Mensagem[])alMensagens.ToArray(typeof(Mensagem));
                    return true;
                }
                else return false;
            }
            catch (Exception ex)
            {
                return false;
            }
        }


    }
}
